require('colors');
const fs = require('fs');
const path = require('path');
const fsExtra = require('fs-extra');

// 要复制的文件列表
const filesToCopy = ['./manifest.json'];

// 目标文件夹路径
const destinationFolder = './chrome';

// 逐个复制文件
async function copyFiles() {
  try {
    // 确保目标文件夹存在
    await fsExtra.ensureDir(destinationFolder);
    // 复制文件
    await Promise.all(filesToCopy.map((file) => fsExtra.copy(file, `${destinationFolder}/${path.basename(file)}`)));
    console.log('chrome 插件构建成功！'.green);
  } catch (err) {
    console.log('chrome 插件构建失败！'.red);
    console.log(String(err).red);
  }
}

copyFiles();

// 定义要删除的<script>代码
const scriptToRemove =
  '<script>!(function () {var a = window.__ICE_APP_CONTEXT__ || {};var b = {"appData":null,"loaderData":{},"routePath":"","matchedIds":[],"documentOnly":true,"renderMode":"CSR"};for (var k in a) {b[k] = a[k]}window.__ICE_APP_CONTEXT__=b;})();</script>';

// 读取 index.html 文件
const filePath = path.join(__dirname, './chrome/index.html');

fs.readFile(filePath, 'utf8', (err, data) => {
  if (err) {
    console.log('读取文件失败！'.red);
    console.log(String(err).red);
    return;
  }

  // 使用正则表达式替换指定的脚本
  const updatedData = data.split(scriptToRemove).join('');

  // 将修改后的内容写回 index.html 文件
  fs.writeFile(filePath, updatedData, 'utf8', (err) => {
    if (err) {
      console.log('写入文件失败！'.red);
      console.log(String(err).red);
      return;
    }
    console.log('成功删除指定的脚本！'.green);
  });
});
